import { useParams } from 'common' import { PageContainer } from 'ui-patterns/PageContainer' import { PageSection, PageSectionContent } from 'ui-patterns/PageSection' import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader' import { ColumnList } from '@/components/interfaces/Database/Tables/ColumnList' import DeleteConfirmationDialogs from '@/components/interfaces/TableGridEditor/DeleteConfirmationDialogs' import { SidePanelEditor } from '@/components/interfaces/TableGridEditor/SidePanelEditor/SidePanelEditor' import DatabaseLayout from '@/components/layouts/DatabaseLayout/DatabaseLayout' import DefaultLayout from '@/components/layouts/DefaultLayout' import { PageLayout } from '@/components/layouts/PageLayout/PageLayout' import { useTableEditorQuery } from '@/data/table-editor/table-editor-query' import { isTableLike } from '@/data/table-editor/table-editor-types' import { useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject' import { useTableEditorStateSnapshot } from '@/state/table-editor' import { TableEditorTableStateContextProvider } from '@/state/table-editor-table' import type { NextPageWithLayout } from '@/types' const DatabaseTables: NextPageWithLayout = () => { const snap = useTableEditorStateSnapshot() const { id: _id, ref } = useParams() const id = _id ? Number(_id) : undefined const { data: project } = useSelectedProjectQuery() const { data: selectedTable, isPending: isLoading } = useTableEditorQuery({ projectRef: project?.ref, connectionString: project?.connectionString, id, }) return ( <> : (selectedTable?.name ?? '')} breadcrumbs={[ { label: 'Tables', href: `/project/${ref}/database/tables`, }, ]} size="large" > {project?.ref !== undefined && selectedTable !== undefined && isTableLike(selectedTable) && ( )} ) } DatabaseTables.getLayout = (page) => ( {page} ) export default DatabaseTables